home *** CD-ROM | disk | FTP | other *** search
/ CD Concept 6 / CD Concept 06.iso / mac / UTILITAIRE / File Safari / Release Note.c < prev   
Encoding:
Text File  |  1995-01-26  |  10.7 KB  |  199 lines  |  [TEXT/MMCC]

  1. /*
  2.  
  3. Changes in 1.0 ╤ 95\01\26 ╤ final release:
  4.   ╤Search buttons weren╒t being updated when user did a Paste.
  5.  
  6.  
  7. Changes in 1.0b6 ╤ 95\01\15:
  8.   ╤I was messing around with passing NULL in some parms of GetDialogItem.
  9.    This worked fine on my IIci with 7.1, but I had a report from MetaTheory
  10.    who was running EvenBetterBusError that I was writing to NIL. Thanks to
  11.    that EBBE, I found the problem was me passing NULL to GDI. Fixed that.
  12.    Also found a few others.
  13.   ╤Added a pref to save the position of the window.
  14.   ╤Fixed something in TE32K where the top of the results text would be
  15.    scrolled off the bottom of the window while lines of text were being
  16.    added during a search.
  17.   ╤Fixed handling of the results scrollbar thumb so the correct value is
  18.    calculated as a long instead of a short.
  19.   ╤Added extra call to smallEvent to catch aborts earlier.
  20.   ╤Forgot to SetPort the about box.
  21.   ╤Fixed bug in findAppInDesktops where an entry was found in the Desktop
  22.    database, but the file no longer existed on the volume, so it skips that
  23.    volume and searches the next.
  24.   ╤Added code to send the appropriate goto╨line Apple¿ Event to the text
  25.    editor so the double╨clicked line will be brought into view. So far the
  26.    only goto╨line «╒s implemented are for 68k and PPC MW C/C++ and Pascal
  27.    and BBEdit (the only editors I could find around here that support
  28.    goto╨line «╒s).
  29.  
  30.  
  31. Changes in 1.0b5 ╤ 94\12\30:
  32.   ╤If the openDoc « can╒t be sent to an application for some reason, I now
  33.    ask the user if they want to use their TEXT Editor to view the file.
  34.   ╤Added Hex Search button.
  35.   ╤Added 1st Occurance Only option.
  36.   ╤Amalgamated all search options into a single Options popup menu in the
  37.    main window to declunkify the interface.
  38.   ╤Changed flags pref into a different format that╒s more easily updated in
  39.    future versions (a long instead of a bunch of Booleans). Also, old Pref╒s
  40.    files won╒t lose the user╒s settings when it╒s updated to a new version.
  41.    And it╒s smaller.
  42.   ╤Added test for files not being able to be opened and ask user if they want
  43.    to skip the file and continue or not.
  44.      ╤Added a beep when the search has completed.
  45.      ╤Added pref for keeping the last Search Dir chosen from the popup menu or
  46.    if the user selects Add Current Search Dir. Search Dir╒s chosen by any
  47.    other means won╒t be remembered. I prefer doing it this way rather than
  48.    saving yet another alias.
  49.      ╤Changed the way I keep track of found files. Used to just keep the parID
  50.    and name. Now I just keep the parID, index, and vRefNum which takes less
  51.    memory and so I can╔
  52.      ╤Now show the full pathname, type, and creator of clicked╨on files in the
  53.    results list. Also changed the font of the file name item to Geneva
  54.       because Monaco was too long for deep folders. This is only an Str255, but
  55.    it seems to be long enough even for deep folders on CW/4.
  56.   ╤Added secret option for power users to skip or include searching the
  57.    resource header, data reserved for system, and application data portions
  58.    of resource files. I was finding some sort of left over garbage in the
  59.    rez fork of an alias file (in the reserved system data area), so I
  60.    decided to skip searching the entire area. But what if some app stores
  61.    data in the application data area, such as passwords and stuff? This is
  62.    why I made it a secret option. This file will be the only place it will
  63.    be mentioned. So only people who read this file will know about it, or
  64.    people who happen to hold down the Option key while clicking in the
  65.    Search Options popup. (Hint; that's how you turn the option on and
  66.    off.:) It╒s default state is on, rez header+ skipped.
  67.   ╤Changed the way the main window works. Added a little triangle PICT item
  68.    that toggles the search result items. I did this for a couple reasons:
  69.    ╫Faster window updating if File Safari is kept hanging around while
  70.     using other app╒s. Just hide the result items when not in use.
  71.    ╫Thinking about adding boxes for the clicked╨on file╒s Type, Creator,
  72.     and the offset of the match in the file. These extra items would make
  73.     more clutter, which would make reason #1 more attractive.
  74.    ╫I╒ve never used AppendDITL before, so it was good practice. :)
  75.  ╤Added a total files searched item.
  76.  ╤Replaced all calls to CallUserItemProc with the actual function calls
  77.   they contain. (New habits are hard to break.;)
  78.  ╤Fixed some things in the search code. Tested it with a file of buffSize
  79.   length. It now finds only one match if the search string is right at the
  80.   end of the buffer. I was also doing the same long calculation twice, so
  81.   I replaced that with a local var (but CodeWarrior was probably optimizing
  82.   that on its own).
  83.  ╤Instead of adding the Type, Creator, and offset boxes, I added a popup
  84.   that shows this into for each match. Just click and hold on a match for
  85.   your system╒s double╨click time and the popup will appear.
  86.  ╤Got CW5 in the mail! Only had to make one change!
  87.  ╤Made full use of CW5╒s new PPC optimization. Too bad I can╒t tell the
  88.   difference. :/ (Somebody give me an 8100 or I╒ll puke all over my code.)
  89.  ╤Started using temp memory for the search buffers if enough is available.
  90.  ╤Changed searchInFile╒s inner loop to be more efficient.
  91.  ╤Made my own Munger function to handle both normal and case╨ignored
  92.   searches, using a lookup table for case╨ignored conversion. It╒s 67%
  93.   faster than Munger normally and 54% faster than my use of Munger when
  94.   ignoring case. A full case╨sensitive search of File Safari╒s project
  95.   folder took an average of 4.1 seconds with Munger and an average of 2.8
  96.   seconds with myMunger. Now I don╒t need two buffers for case╨ignored
  97.   searches because I don╒t have to copy an upper╨case version of the buffer.
  98.  ╤Added Ignore Diacriticals option in Search Options popup menu. Be careful
  99.   when using the Hex Search button as the Ignore Case and Ignore
  100.   Diacriticals options *still* apply to your resulting hex string. E.g.:
  101.   Search String "0x61" ('a') will turn into "0x41" ('A') if Ignore Case is
  102.   turned on.
  103.  ╤When a search is started, disabled Hex Search button and changed Search
  104.   button to Stop so it╒s more obvious that the search can be stopped.
  105.   Clicking the Stop button, hitting Return, Enter, Escape, or Command╨.
  106.   all stop the search. Also disabled my menus and handled mouseDown╒s in
  107.   menubar and drag region.
  108.  ╤I was comparing File Safari╒s search results to that of Search Files when
  109.   I noticed FS found more matches than SF with the same options turned on.
  110.   So I thought it╒d be nice to have a Save Results function so I could
  111.   compare FS╒s to SF╒s. This is now an item in the File menu. BTW, FS╒s
  112.   and SF╒s search times are almost identical in my tests. FS took 1 second
  113.   longer to search one of my hard drives with Ignore Case and TEXT Files
  114.   Only turned on.
  115.  ╤Found Search Files╒ problem; it doesn╒t find a match if the search string
  116.   is butted up against the end of the file. File Safari does this correctly.
  117.   Nyah. :) It also searches folders in a more intelligent manner.
  118.  
  119.  
  120. Changes in 1.0b4 ╤ 94\12\28:
  121.   ╤Fixed bug where Resource Editor menu item string would contain
  122.    garbage until a rez editor was chosen.
  123.   ╤Fixed bug that would set the Resource Editor string to empty
  124.    if the user chose Choose resource editor╔ and clicked Cancel.
  125.   ╤Added a default TEXT File Editor that can be used to view all
  126.    TEXT files when double╨clicked. It╒s chosen like the Resource
  127.    Editor and has a menu item to turn on/off using it.
  128.   ╤Improved pref loading scheme so new prefs will be created if
  129.    they aren╒t found, and old prefs that aren╒t the current size
  130.    will be deleted and re╨created.
  131.   ╤Changed all menu item strings to title case.
  132.   ╤The window is now dragable. Ooops. :)
  133.   ╤If the current Search Dir is one from the popup, and the user
  134.    deletes that item from the popup, the Add Current Search Dir
  135.    menu item is re╨enabled.
  136.   ╤If the Option key is held while double╨clicking on a match in
  137.    the results, the user╒s TEXT editor will be used to open the
  138.    file, no matter what type the file is or which fork the match
  139.    was found in. This is a power user feature, and is especially
  140.    useful for people who have Really Cool App╒s like MuffEdit that
  141.    can open *any* file╒s data fork and also snoop in the rez fork.
  142.   ╤Got rid of desk scrap purging if the scrap was not TEXT data.
  143.    Stopped bad practice of doing ZeroScrap and TEToScrap when
  144.    switching to the background.
  145.  
  146.  
  147. Changes in 1.0b3 ╤ 94\12\21:
  148.   ╤Added drag & drop of folders and disks to set the Search Dir.
  149.   ╤Added openDoc and quitApp «╒s.
  150.   ╤Changed the name of the main window to File Safari.
  151.   ╤Fixed more Balloon Help.
  152.   ╤Fixed some incompatibilities with Norton Directory Assistance.
  153.    Hopefully this will fix the problems with SuperBoomerang too.
  154.    I don╒t know why these companies can╒t write stuff that doesn╒t
  155.    interfere with standard Apple routines. If you╒re gonna change
  156.    the current dir, then tell the goddamn hook that you did so!
  157.    I also found that, if a button has been added to a CustomGetFile
  158.    box, and you SetDialogDefaultItem on it while the standard Open
  159.    button is disabled, NDA doesn╒t know about it, but instead sends
  160.    an itemHit message of 0x1000 + the char number. Bad, bad, bad
  161.    programming style not to call the standard ModalDialog filter
  162.    when you mess with dialog events.
  163.   ╤It was reported that no matches are found on a PPC, even though
  164.    it╒s searching through the correct files. I have no idea why
  165.    this wouldn╒t work, unless Munger doesn╒t work correctly on PPC╒s.
  166.    I changed the FSRead/Munger buffer pointer to a handle just to
  167.    see if that has anything to do with it, which I really doubt.
  168.   ╤Added version number to About box.
  169.   ╤Improved finding a double╨clicked file╒s creator, launching it,
  170.    bringing it to the front, and sending the openDoc «.
  171.   ╤Implemented the resource editor stuff.
  172.   ╤Correctly enabled Add Current Search Dir popup menu item and
  173.    Search button when a folder/volume is drag & dropped onto File
  174.    Safari in the Finder.
  175.  
  176.  
  177. Changes in 1.0b2 ╤ 94\12\16:
  178.   ╤Added current file pathname to main window while searching.
  179.   ╤Added Matches item in dialog.
  180.   ╤Fixed some Balloon Help.
  181.   ╤Added check for System 7.
  182.   ╤Added check for B&W and put up the B&W version of the About PICT.
  183.   ╤Added call to smallEvent at the end of the searchInFile loop so
  184.    we don╒t have to wait as long to abort.
  185.   ╤Added SystemTask to smallEvent so some other stuff could process.
  186.   ╤After a search has completed, select the Search String text.
  187.   ╤Set the cursor to arrow when suspend/resume event is received.
  188.   ╤When clicking on an item in the result list, the file name is
  189.    shown.
  190.   ╤Progress information is shown while finding a double╨clicked╨on
  191.    file╒s creator and process or app, and sending the AEOpenDoc.
  192.   ╤Fixed it so when the result list is clicked past the end of the
  193.    last line, it selects the last line.
  194.   
  195.  
  196. 1.0b1 ╤ 94\12\15?:
  197.   ╤Initial beta release.
  198.  
  199. */